package com.season.seasonStudy.designPattern.singleton;

public class TestDriver {

    /**
     * java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。
     * 可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run（）来完成其操作的，方法run()称为线程体。
     * 通过调用Thread类的start()方法来启动一个线程。
     *
     * 在Java当中，线程通常都有五种状态，创建、就绪、运行、阻塞和死亡。
     * 　　第一是创建状态。在生成线程对象，并没有调用该对象的start方法，这是线程处于创建状态。
     * 　　第二是就绪状态。当调用了线程对象的start方法之后，该线程就进入了就绪状态，但是此时线程调度程序还没有把该线程设置为当前线程，此时处于就绪状态。在线程运行之后，从等待或者睡眠中回来之后，也会处于就绪状态。
     * 　　第三是运行状态。线程调度程序将处于就绪状态的线程设置为当前线程，此时线程就进入了运行状态，开始运行run函数当中的代码。
     * 　　第四是阻塞状态。线程正在运行的时候，被暂停，通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend，wait等方法都可以导致线程阻塞。
     * 　　第五是死亡状态。如果一个线程的run方法执行结束或者调用stop方法后，该线程就会死亡。对于已经死亡的线程，无法再使用start方法令其进入就绪。
     * ————————————————
     * 版权声明：本文为CSDN博主「hello-java-maker」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
     * 原文链接：https://blog.csdn.net/sihai12345/article/details/80458763
     * @param args
     */
    // Thread start
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            System.out.println(123);
        });
        thread.start();
        thread.run();
    }
}
